package com.andyage.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Properties;

/**
 * 全局的配置文件类
 * @author liuyayun
 *
 */
public class MyConfig {
	/**
	 * 配置文件名称 
	 */
	private static final String ACTIONPATH = "config.properties";  
	/**
	 *   
	 */
	private static Properties prop = null;  
	
	
	/******************************************* 公用基础 **********************************************************/
		
	/**
	 * 服务器跟目录
	 */
	public static String Root = getProperties().getProperty("Root");
	
	/******************************************** 短信平台信息 ***************************************************/
	/**
	 * 短信平台类型
	 * 现在支持ihuyi和jianwang（中国建网）
	 */
	public static String SMSServer_type = getProperties().getProperty("SMSServer_type");
	/**
	 * ihuyi平台的短信发送地址
	 */
	public static String SMSServerIhuyi_url = getProperties().getProperty("SMSServerIhuyi_url");
	/**
	 * 账户
	 */
	public static String SMSServerIhuyi_account = getProperties().getProperty("SMSServerIhuyi_account");
	/**
	 * 密码
	 */
	public static String SMSServerIhuyi_password = getProperties().getProperty("SMSServerIhuyi_password");
	/**
	 * 中国建网平台的短信发送地址
	 */
	public static String SMSServerJanWang_url = getProperties().getProperty("SMSServerJanWang_url");
	/**
	 * 用户名
	 */
	public static String SMSServerJanWang_user = getProperties().getProperty("SMSServerJanWang_user");
	/**
	 * key
	 */
	public static String SMSServerJanWang_key = getProperties().getProperty("SMSServerJanWang_key");
	/**
	 * 公司联系方式
	 */
	public static String SMS_tel = getProperties().getProperty("SMS_tel");
	
	/************************************ 微信 **************************************************/
	
	/**
	 * 微信公众平台填写的token
	 */
	public static String WxToken = getProperties().getProperty("WxToken");
	/**
	 * 公司的AppID(应用ID)
	 */
	public static String AppId = getProperties().getProperty("AppId");
	/**
	 * 公司的AppSecret(应用密钥)
	 */
	public static String AppSecret = getProperties().getProperty("AppSecret");
	
	/**
	 * 获取code的地址
	 */
	public static String CodeUrl = getProperties().getProperty("CodeUrl");
	/**
	 * 获取openid的地址
	 */
	public static String OpenIDUrl = getProperties().getProperty("OpenIDUrl");
	/**
	 * 获取token的地址
	 */
	public static String TokenUrl = getProperties().getProperty("TokenUrl");
	/**
	 * 获取jsapi ticket的地址
	 */
	public static String TicketUrl = getProperties().getProperty("TicketUrl");
	
	/**
	 * 接收微信服务器获取openid的地址
	 */
	public static String GetOpenID = Root+getProperties().getProperty("GetOpenID");
	/**
	 * 获取到openid之后的重定向页面
	 */
	public static String GetOpenIDRedirect = Root+getProperties().getProperty("GetOpenIDRedirect");
	/************************************ ping++ ******************************************************/
	
	/**
	 * ping++ 
	 */
	public static String PingAppId = getProperties().getProperty("PingAppId");
	/**
	 * ping++
	 */
	public static String PingApiKey = getProperties().getProperty("PingApiKey");
	/**
	 * 提交ping++支付的客户端ip地址
	 */
	public static String PingClientIp = getProperties().getProperty("PingClientIp");
	/**
	 * 客户端支付成功之后的回调地址
	 */
	public static String PingOrderSuccess = Root+getProperties().getProperty("PingOrderSuccess");
	/**
	 * 客户端支付失败之后的回调
	 */
	public static String PingOrderCancel = Root+getProperties().getProperty("PingOrderCancel");
	/**
	 * 百度bucket key
	 */
	public static String SECRET_ACCESS_KEY = getProperties().getProperty("SECRET_ACCESS_KEY");
	/**
	 * 百度bucket id
	 */
	public static String ACCESS_KEY_ID = getProperties().getProperty("ACCESS_KEY_ID");
	/**
	 * 百度bucket ENDPOINT
	 */
	public static String ENDPOINT = getProperties().getProperty("ENDPOINT");
	/**
	 * 百度bucket名称
	 */
	public static String BUCKET_NAME = getProperties().getProperty("BUCKET_NAME");
	/**
	 * 向测试服务器发送参数
	 */
	public static String TEST = getProperties().getProperty("TEST");
	
	public static String NORMAL = getProperties().getProperty("NORMAL");
/*********************************** 其他 ****************************************************/
	
	/**
	 * 登录ticket有效时间
	 */
	public static Double TicketTime = Double.parseDouble(getProperties().getProperty("TicketTime"));
	/**
	 * 临时校验码有效时间
	 */
	public static Double TempCodeTime = Double.parseDouble(getProperties().getProperty("TempCodeTime"));
	
	/**
	 * 获取配置文件信息，进行读取
	 * @return
	 */
	private static Properties getProperties()
	{
		if(prop==null)
		{
			prop = new Properties();
			// 获取当前类加载的根目录，如：/C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/  
			String path = null;
			try {
				path = MyConfig.class.getClassLoader().getResource("").toURI().getPath();
			} catch (URISyntaxException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}    
			// 把文件读入文件输入流，存入内存中  
			FileInputStream fis = null;
			try {
				fis = new FileInputStream(new File(path + ACTIONPATH));
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}     
			//加载文件流的属性     
			try {
				prop.load(fis);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}   
		}
		return prop;
	}
	public static void main(String[] args) {
		System.out.println(ENDPOINT);
	}
}
